package com.project.common.enums;

/**
 * @Description: 分布式锁Key
 * @Author: zhuchi
 * @CreateDate: 2020/9/18 22:30
 * @Version: 1.0
 */
public enum LockCapitalFlowEnum {
    /**
     * 分布式锁超时时间（毫秒）
     */
    LOCK_EXPIRES{public String Value(){return "15000";}},

    /**
     * 充值分布式锁Key
     */
    UPDATE_RECHARGE{public String Value(){return "UPDATE_RECHARGE_";}},

    /**
     * 第三方uflash充值分布式锁Key
     */
    BILL_RECHARGE{public String Value(){return "BILL_RECHARGE_";}},

    /**
     * 接收到第三方uflash充值成功通知后更新业务数据分布式锁Key
     */
    BILL_RECHARGE_SUCCESS{public String Value(){return "BILL_RECHARGE_SUCCESS_";}},

    /**
     * 第三方东南飞充值分布式锁Key
     */
    DNF_RECHARGE{public String Value(){return "DNF_RECHARGE_";}},

    /**
     * 接收到第三方东南飞充值成功通知后更新业务数据分布式锁Key
     */
    DNF_RECHARGE_SUCCESS{public String Value(){return "DNF_RECHARGE_SUCCESS_";}},

    /**
     * 第三方锋芒充值分布式锁Key
     */
    FM_RECHARGE{public String Value(){return "FM_RECHARGE_";}},

    /**
     * 第三方（Ekpay）充值分布式锁Key
     */
    ADD_EK_PAY_CENTER{public String Value(){return "ADD_EK_PAY_CENTER_";}},

    /**
     * 第三方（Ekpay）充值分布式锁Key
     */
    ADD_USDT_RECHARGE{public String Value(){return "ADD_USDT_RECHARGE_";}},

    /**
     * 第三方（Xendit）充值分布式锁Key
     */
    ADD_XENDIT_RECHARGE{public String Value(){return "ADD_XENDIT_RECHARGE_";}},

    /**
     * 接收到第三方锋芒充值成功通知后更新业务数据分布式锁Key
     */
    FM_RECHARGE_SUCCESS{public String Value(){return "FM_RECHARGE_SUCCESS_";}},

    /**
     * 接收到第三方（Ekpay）充值成功通知后更新业务数据分布式锁Key
     */
    UPDATE_EK_PAY_RECHARGE_SUCCESS{public String Value(){return "UPDATE_EK_PAY_RECHARGE_SUCCESS_";}},

    /**
     * 接收到虚拟币（USDT）充值充值成功通知后更新业务数据分布式锁Key
     */
    UPDATE_USDT_RECHARGE_SUCCESS{public String Value(){return "UPDATE_USDT_RECHARGE_SUCCESS_";}},

    /**
     * 接收到第三方（Xendit）充值成功通知后更新业务数据分布式锁Key
     */
    UPDATE_XENDIT_RECHARGE_SUCCESS{public String Value(){return "UPDATE_XENDIT_RECHARGE_SUCCESS_";}},

    /**
     * 同意充值分布式锁Key
     */
    AGREE_RECHARGE{public String Value(){return "AGREE_RECHARGE_";}},

    /**
     * 转账分布式锁Key
     */
    TRANSFER_ACCOUNTS{public String Value(){return "TRANSFER_ACCOUNTS_";}},

    /**
     * 同意转账分布式锁Key
     */
    AGREE_TRANSFER_ACCOUNTS{public String Value(){return "AGREE_TRANSFER_ACCOUNTS_";}},

    /**
     * 提现分布式锁Key
     */
    WITHDRAWAL{public String Value(){return "WITHDRAWAL_";}},

    /**
     * 同意提现分布式锁Key
     */
    AGREE_WITHDRAWAL{public String Value(){return "AGREE_WITHDRAWAL_";}},

    /**
     * 拒绝充值/转账/提现分布式锁Key
     */
    REFUSE_FLOW{public String Value(){return "REFUSE_FLOW_";}},

    /**
     * 给某个用户充值分布式锁Key
     */
    PC_RECHARGE{public String Value(){return "PC_RECHARGE_";}},

    /**
     * 后台-扣款分布式锁Key
     */
    PC_DEDUCTION{public String Value(){return "PC_DEDUCTION_";}},

    /**
     * 付款（用于用户提现后付款给用户）分布式锁Key
     */
    PAY_TOUSER{public String Value(){return "PAY_TOUSER_";}},

    /**
     * 第三方uflash付款回调处理业务数据分布式锁Key
     */
    CASH_CALLBACK{public String Value(){return "CASH_CALLBACK_";}},

    /**
     * 用户取消充值分布式锁Key
     */
    CANCEL_RECHARGE{public String Value(){return "CANCEL_RECHARGE_";}},

    /**
     * 查询系统中代付状态为处理中的提现数据,和第三方核对,如果代付成功更新订单状态分布式锁Key
     */
    UPDATE_UFLASH_SYNCHRONOUS_PAYMENT{public String Value(){return "UPDATE_UFLASH_SYNCHRONOUS_PAYMENT_";}};


    /**
     * 获取对象状态值
     * @return
     */
    public abstract String Value();

}
